local assets = {
    Asset("ANIM", "anim/fruit_essence.zip"),
}

function Fn()
    local inst = CreateEntity() -- 创建实体
    inst.entity:AddTransform()  -- 添加xyz形变对象
    inst.entity:AddAnimState()  -- 添加动画状态
    inst.entity:SetPristine()   -- 标记实体为初始状态（用于网络和主从区分）
    inst.entity:AddNetwork()    -- 网络组件
    MakeInventoryPhysics(inst)

    inst.AnimState:SetBank("fruit_essence")  -- 地上动画
    inst.AnimState:SetBuild("fruit_essence") -- 材质包
    inst.AnimState:PlayAnimation("idle")     -- 默认播放哪个动画

    MakeInventoryFloatable(inst, "small", 0.05, 0.8)
    --------------------------------------------------------------------------
    if not TheWorld.ismastersim then
        return inst
    end
    --------------------------------------------------------------------------
    inst:AddComponent("inspectable")   -- 可检查组件

    inst:AddComponent("inventoryitem") -- 物品组件

    inst:AddComponent("stackable")
    inst.components.stackable.maxsize = TUNING.STACK_SIZE_SMALLITEM

    inst:AddComponent("fepairfresh")

    MakeHauntableLaunch(inst)

    return inst
end

return Prefab("fruit_essence", Fn, assets, prefabs)
